// 使用 mongoose 模块为 mydb库的stu集合添加如下信息

// 1. 导入mongoose
const mongoose = require("mongoose");
// 2. 连接MongoDB数据库
mongoose.connect("mongodb://127.0.0.1:27017/mydb");
// 3. 注册open事件（连接成功事件）
mongoose.connection.on("open",()=>{
    //连接成功的处理
    console.log("MongoDB数据库连接成功！");
    // 4. 创建集合中文档的结构模式(模式类型)
    const stuSchema = new mongoose.Schema({
        sno: Number,
        name: String,
        age: Number,
        sex: Number,
        classid: String,
    })

    // 5 通过模式类型来创建的数据模型对象model
    const stuModel = mongoose.model("stu", stuSchema);
    // 后面我们就可以通过stuModel来操作stu集合中的所有文档数据

    // 6. 批量添加数据
    // stuModel.insertMany(
    //     [
    //         {sno:1, name:"张无忌", sex:1, age:20, classid:"web1013"},
    //         {sno:2, name:"张翠山", sex:1, age:40, classid:"web0813"},
    //         {sno:3, name:"张三丰", sex:1, age:60, classid:"web0213"},
    //         {sno:4, name:"赵敏", sex:0, age:19, classid:"web1013"},
    //         {sno:5, name:"殷素素", sex:0, age:21, classid:"web1013"}
    //     ], (err,data) => {
    //        if(err) throw err;
           
    //        // 输出添加的结果
    //        console.log(data);
    //     }
    // )

    //7. 查询数据(查询条件：web1013期的所有女生信息)
    stuModel.find({$and:[{classid:"web1013"},{sex:0}]},(err, data)=>{
        if(err) throw err;
        // 遍历查询的数据
        data.forEach(stu => {
            console.log(stu.sno, stu.name, stu.sex, stu.classid);
        });
    })

    //8、关闭数据库连接（可选，代码上线之后一般不加）
    //mongoose.connection.close();
});
